package cn.buk.qms.service;

import cn.buk.common.JsonResult;
import cn.buk.common.sc.CommonSearchCriteria;
import cn.buk.tms.dto.PnrSummary;
import cn.buk.tms.entity.misc.*;

import java.util.List;

public interface PnrService {


  Pnr getPnrById(int id, int enterpriseId);

  /**
   * 查找PNR
   *
   * @param enterpriseId
   * @param sc
   * @return
   */
  List<Pnr> searchPnr(int enterpriseId, CommonSearchCriteria sc);

  List<Pnr> searchPnr(int enterpriseId, String segStatus, int segCount);

  List<Pnr> searchPnrCheckTimeMoreThan24Hours(int enterpriseId, int max);

  int delete(int id, int enterpriseId, int userId);

  int getPnrStatusCount(String pnrStatus, String etermUsername, int enterpriseId);

  List<PnrLog> searchPnrLog(int enterpriseId, CommonSearchCriteria sc);

  int savePnrLog(int enterpriseId, String pnrNo, String pnrDetail, String remark);

  List<FareCondition> searchFareConditions(int enterpriseId, CommonSearchCriteria sc);


  List<PnrAlert> searchPnrAlert(int enterpriseId, int alertType, CommonSearchCriteria sc);

  void deletePnrXX();

  List<PnrUsed> searchPnrUsed(CommonSearchCriteria sc, int enterpriseId);

  JsonResult savePnrMonitor(int enterpriseId, String pnr, int monitorType);

  JsonResult analyzeUsedPnr(int enterpriseId);

  List<PnrSummary> statPnrByUsername(int enterpriseId, CommonSearchCriteria sc);

  List<Pnr> searchPnrCtcm(int enterpriseId, String carrier, String etermUsername, CommonSearchCriteria sc);

  List<Pnr> searchPnrCtct(int enterpriseId, CommonSearchCriteria sc);

  List<PnrMobile> searchPnrMobile(int enterpriseId, CommonSearchCriteria sc);

  JsonResult createPnrMobile(int enterpriseId, String mobile);

  JsonResult deletePnrMobile(int enterpriseId, int id);
}
